package com.cdu.guoxinan.www.smartcom.domian.pojo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
* 投诉管理表
* @TableName complaint
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Complaint implements Serializable {

    /**
    * 投诉ID
    */
    @NotNull(message="[投诉ID]不能为空")
    @ApiModelProperty("投诉ID")
    private Long complaintId;
    /**
    * 投诉内容
    */
    @NotBlank(message="[投诉内容]不能为空")
    @ApiModelProperty("投诉内容")
    @Length(max= 200,message="编码长度不能超过-1")
    private String description;
    /**
    * 投诉人ID
    */
    @NotNull(message="[投诉人ID]不能为空")
    @ApiModelProperty("投诉人ID")
    private Long residentId;
    /**
    * 投诉对象
    */
    @NotBlank(message="[投诉对象]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("投诉对象")
    @Length(max= 100,message="编码长度不能超过100")
    private String target;
    /**
    * 处理状态
    */
    @NotNull(message="[处理状态]不能为空")
    @ApiModelProperty("处理状态")
    private Integer status;
    /**
    * 创建时间
    */
    @NotNull(message="[创建时间]不能为空")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createdAt;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updatedAt;
}
